{
 "cells": [
  {
   "cell_type": "raw",
   "metadata": {
    "raw_mimetype": "text/restructuredtext"
   },
   "source": [
    ".. _nb_osy:"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## OSY\n",
    "\n",
    "Osyczka and Kundu used the following six-variable\n",
    "test problem: "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Definition**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\\begin{equation}\n",
    "\\newcommand{\\boldx}{\\mathbf{x}}\n",
    "\\begin{array}\n",
    "\\mbox{Minimize} & f_1(\\boldx) = -\\left[25(x_1-2)^2+(x_2-2)^2 + (x_3-1)^2+(x_4-4)^2  + (x_5-1)^2\\right], \\\\\n",
    "\\mbox{Minimize} & f_2(\\boldx) = x_1^2 + x_2^2 + x_3^2 + x_4^2 + x_5^2 + x_6^2, \n",
    "\\end{array}\n",
    "\\end{equation}\n",
    "\n",
    "\\begin{equation}\n",
    "\\begin{array}\n",
    "\\mbox{\\text{subject to}} & C_1(\\boldx) \\equiv x_1 + x_2 - 2 \\geq 0, \\\\\n",
    "& C_2(\\boldx) \\equiv 6 - x_1 - x_2 \\geq 0, \\\\\n",
    "& C_3(\\boldx) \\equiv 2 - x_2 + x_1 \\geq 0, \\\\\n",
    "& C_4(\\boldx) \\equiv 2 - x_1 + 3x_2 \\geq 0, \\\\\n",
    "& C_5(\\boldx) \\equiv 4 - (x_3-3)^2 - x_4 \\geq 0, \\\\\n",
    "& C_6(\\boldx) \\equiv (x_5-3)^2 + x_6 - 4 \\geq 0, \\\\[2mm]\n",
    "& 0 \\leq x_1,x_2,x_6 \\leq 10,\\quad 1 \\leq x_3,x_5 \\leq 5,\\quad 0\\leq x_4 \\leq 6.\n",
    "\\end{array}\n",
    "\\end{equation}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Optimum**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The Pareto-optimal region is a concatenation of\n",
    "five regions. Every region lies on some of the constraints. However, for the\n",
    "entire Pareto-optimal region, $x_4^{\\ast} = x_6^{\\ast} = 0$. \n",
    "In table below shows the other variable values in each of the five\n",
    "regions and the constraints that are active in each region.\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "raw_mimetype": "text/html"
   },
   "source": [
    "<div style=\"display: block;margin-left: auto;margin-right: auto;width: 40%;\">\n",
    "![pf_osy](../../resources/images/pf_osy.png)\n",
    "</div>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Plot**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "code": "usage_problem.py",
    "section": "bnh"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 250,
       "width": 370
      },
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from pymoo.factory import get_problem\n",
    "from pymoo.util.plotting import plot\n",
    "\n",
    "problem = get_problem(\"osy\")\n",
    "plot(problem.pareto_front(), no_fill=True)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
